<!DOCTYPE html>

<html>
  <head>
    <title>Protocol Documentation</title>
    <meta charset="UTF-8">
    <link rel="stylesheet" type="text/css" href="http://fonts.googleapis.com/css?family=Ubuntu:400,700,400italic"/>
    <style>
      body {
        width: 60em;
        margin: 1em auto;
        color: #222;
        font-family: "Ubuntu", sans-serif;
        padding-bottom: 4em;
      }

      h1 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      h2 {
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
        margin: 1.5em 0;
      }

      h3 {
        font-weight: normal;
        border-bottom: 1px solid #aaa;
        padding-bottom: 0.5ex;
      }

      a {
        text-decoration: none;
        color: #567e25;
      }

      table {
        width: 100%;
        font-size: 80%;
        border-collapse: collapse;
      }

      thead {
        font-weight: 700;
        background-color: #dcdcdc;
      }

      tbody tr:nth-child(even) {
        background-color: #fbfbfb;
      }

      td {
        border: 1px solid #ccc;
        padding: 0.5ex 2ex;
      }

      td p {
        text-indent: 1em;
        margin: 0;
      }

      td p:nth-child(1) {
        text-indent: 0;  
      }

       
      .field-table td:nth-child(1) {  
        width: 10em;
      }
      .field-table td:nth-child(2) {  
        width: 10em;
      }
      .field-table td:nth-child(3) {  
        width: 6em;
      }
      .field-table td:nth-child(4) {  
        width: auto;
      }

       
      .extension-table td:nth-child(1) {  
        width: 10em;
      }
      .extension-table td:nth-child(2) {  
        width: 10em;
      }
      .extension-table td:nth-child(3) {  
        width: 10em;
      }
      .extension-table td:nth-child(4) {  
        width: 5em;
      }
      .extension-table td:nth-child(5) {  
        width: auto;
      }

       
      .enum-table td:nth-child(1) {  
        width: 10em;
      }
      .enum-table td:nth-child(2) {  
        width: 10em;
      }
      .enum-table td:nth-child(3) {  
        width: auto;
      }

       
      .scalar-value-types-table tr {
        height: 3em;
      }

       
      #toc-container ul {
        list-style-type: none;
        padding-left: 1em;
        line-height: 180%;
        margin: 0;
      }
      #toc > li > a {
        font-weight: bold;
      }

       
      .file-heading {
        width: 100%;
        display: table;
        border-bottom: 1px solid #aaa;
        margin: 4em 0 1.5em 0;
      }
      .file-heading h2 {
        border: none;
        display: table-cell;
      }
      .file-heading a {
        text-align: right;
        display: table-cell;
      }

       
      .badge {
        width: 1.6em;
        height: 1.6em;
        display: inline-block;

        line-height: 1.6em;
        text-align: center;
        font-weight: bold;
        font-size: 60%;

        color: #89ba48;
        background-color: #dff0c8;

        margin: 0.5ex 1em 0.5ex -1em;
        border: 1px solid #fbfbfb;
        border-radius: 1ex;
      }
    </style>

    
    <link rel="stylesheet" type="text/css" href="stylesheet.css"/>
  </head>

  <body>

    <h1 id="title">Protocol Documentation</h1>

    <h2>Table of Contents</h2>

    <div id="toc-container">
      <ul id="toc">
        
          
          <a href="#version.proto">version.proto</a>
          <table class="version.proto-message-table">
            <thead>
              <tr><td>Message</td><td>Comment</td></tr>
            </thead>
            <tbody>
              
                <tr id="tr-msg.VersionInfo">
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td><a href="#msg.VersionInfo">版本信息</a></td>
                </tr>
              
            </tbody>
          </table>
        
          
          <a href="#common.proto">common.proto</a>
          <table class="common.proto-message-table">
            <thead>
              <tr><td>Message</td><td>Comment</td></tr>
            </thead>
            <tbody>
              
                <tr id="tr-msg.S2C_Items">
                  <td><a href="#msg.S2C_Items">S2C_Items</a></td>
                  <td><a href="#msg.S2C_Items">下发物品信息
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.C2S_Ping">
                  <td><a href="#msg.C2S_Ping">C2S_Ping</a></td>
                  <td><a href="#msg.C2S_Ping">测试协议1
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.S2C_Pong">
                  <td><a href="#msg.S2C_Pong">S2C_Pong</a></td>
                  <td><a href="#msg.S2C_Pong">测试协议2
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.C2S_TestRepeated">
                  <td><a href="#msg.C2S_TestRepeated">C2S_TestRepeated</a></td>
                  <td><a href="#msg.C2S_TestRepeated">测试协议3
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.item">
                  <td><a href="#msg.item">item</a></td>
                  <td><a href="#msg.item">物品信息</a></td>
                </tr>
              
            </tbody>
          </table>
        
          
          <a href="#login.proto">login.proto</a>
          <table class="login.proto-message-table">
            <thead>
              <tr><td>Message</td><td>Comment</td></tr>
            </thead>
            <tbody>
              
                <tr id="tr-msg.S2C_Close">
                  <td><a href="#msg.S2C_Close">S2C_Close</a></td>
                  <td><a href="#msg.S2C_Close">连接关闭
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.C2S_Login">
                  <td><a href="#msg.C2S_Login">C2S_Login</a></td>
                  <td><a href="#msg.C2S_Login">登录请求
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.S2C_Login">
                  <td><a href="#msg.S2C_Login">S2C_Login</a></td>
                  <td><a href="#msg.S2C_Login">登录回复
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.S2C_Login.ServerInfo">
                  <td><a href="#msg.S2C_Login.ServerInfo">S2C_Login.ServerInfo</a></td>
                  <td><a href="#msg.S2C_Login.ServerInfo">服务器信息</a></td>
                </tr>
              
                <tr id="tr-msg.C2S_Register">
                  <td><a href="#msg.C2S_Register">C2S_Register</a></td>
                  <td><a href="#msg.C2S_Register">注册帐号请求
@msg</a></td>
                </tr>
              
                <tr id="tr-msg.S2C_Register">
                  <td><a href="#msg.S2C_Register">S2C_Register</a></td>
                  <td><a href="#msg.S2C_Register">注册帐号结果
@msg</a></td>
                </tr>
              
            </tbody>
          </table>
        
        <li><a href="#scalar-value-types">Scalar Value Types</a></li>
      </ul>
    </div>

    
      
      <div class="file-heading">
        <h2 id="version.proto">version.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="msg.VersionInfo">VersionInfo</h3>
        <p>版本信息</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Content</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>测试协议5字段1 </p></td>
                </tr>
              
                <tr>
                  <td>D</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>测试协议5字段2 </p></td>
                </tr>
              
                <tr>
                  <td>F</td>
                  <td><a href="#float">float</a></td>
                  <td></td>
                  <td><p>测试协议5字段3 </p></td>
                </tr>
              
                <tr>
                  <td>I32</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>测试协议5字段4 </p></td>
                </tr>
              
                <tr>
                  <td>I64</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>测试协议5字段5 </p></td>
                </tr>
              
                <tr>
                  <td>Ui32</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>测试协议5字段6 </p></td>
                </tr>
              
                <tr>
                  <td>Ui64</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>测试协议5字段7 </p></td>
                </tr>
              
                <tr>
                  <td>B</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>测试协议5字段8 </p></td>
                </tr>
              
                <tr>
                  <td>Bytes</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>测试协议5字段9 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      
        <h3 id="msg.Version">Version</h3>
        <p>协议版本枚举</p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>Version_</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>Num</td>
                <td>1</td>
                <td><p>协议版本</p></td>
              </tr>
            
          </tbody>
        </table>
      

      

      
    
      
      <div class="file-heading">
        <h2 id="common.proto">common.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="msg.S2C_Items">S2C_Items</h3>
        <p>下发物品信息</p><p>@msg</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Item</td>
                  <td><a href="#msg.item">item</a></td>
                  <td></td>
                  <td><p> </p></td>
                </tr>
              
                <tr>
                  <td>Items</td>
                  <td><a href="#msg.item">item</a></td>
                  <td>repeated</td>
                  <td><p> </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.C2S_Ping">C2S_Ping</h3>
        <p>测试协议1</p><p>@msg</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Content</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>测试协议1字段1 </p></td>
                </tr>
              
                <tr>
                  <td>D</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>测试协议1字段2 </p></td>
                </tr>
              
                <tr>
                  <td>F</td>
                  <td><a href="#float">float</a></td>
                  <td></td>
                  <td><p>测试协议1字段3 </p></td>
                </tr>
              
                <tr>
                  <td>I32</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>测试协议1字段4 </p></td>
                </tr>
              
                <tr>
                  <td>I64</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>测试协议1字段5 </p></td>
                </tr>
              
                <tr>
                  <td>Ui32</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>测试协议1字段6 </p></td>
                </tr>
              
                <tr>
                  <td>Ui64</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>测试协议1字段7 </p></td>
                </tr>
              
                <tr>
                  <td>B</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>测试协议1字段8 </p></td>
                </tr>
              
                <tr>
                  <td>Bytes</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>测试协议1字段9 </p></td>
                </tr>
              
                <tr>
                  <td>Info</td>
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td></td>
                  <td><p>测试协议1字段10 </p></td>
                </tr>
              
                <tr>
                  <td>V</td>
                  <td><a href="#msg.Version">Version</a></td>
                  <td></td>
                  <td><p>测试协议1字段11 </p></td>
                </tr>
              
                <tr>
                  <td>Infos</td>
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td>repeated</td>
                  <td><p>测试协议1字段12 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.S2C_Pong">S2C_Pong</h3>
        <p>测试协议2</p><p>@msg</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Content</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>测试协议2字段1 </p></td>
                </tr>
              
                <tr>
                  <td>D</td>
                  <td><a href="#double">double</a></td>
                  <td></td>
                  <td><p>测试协议2字段2 </p></td>
                </tr>
              
                <tr>
                  <td>F</td>
                  <td><a href="#float">float</a></td>
                  <td></td>
                  <td><p>测试协议2字段3 </p></td>
                </tr>
              
                <tr>
                  <td>I32</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>测试协议2字段4 </p></td>
                </tr>
              
                <tr>
                  <td>I64</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>测试协议2字段5 </p></td>
                </tr>
              
                <tr>
                  <td>Ui32</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td></td>
                  <td><p>测试协议2字段6 </p></td>
                </tr>
              
                <tr>
                  <td>Ui64</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td></td>
                  <td><p>测试协议2字段7 </p></td>
                </tr>
              
                <tr>
                  <td>B</td>
                  <td><a href="#bool">bool</a></td>
                  <td></td>
                  <td><p>测试协议2字段8 </p></td>
                </tr>
              
                <tr>
                  <td>Bytes</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td></td>
                  <td><p>测试协议2字段9 </p></td>
                </tr>
              
                <tr>
                  <td>Info</td>
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td></td>
                  <td><p>测试协议2字段10 </p></td>
                </tr>
              
                <tr>
                  <td>V</td>
                  <td><a href="#msg.Version">Version</a></td>
                  <td></td>
                  <td><p>测试协议1字段11 </p></td>
                </tr>
              
                <tr>
                  <td>Infos</td>
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td>repeated</td>
                  <td><p>测试协议1字段12 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.C2S_TestRepeated">C2S_TestRepeated</h3>
        <p>测试协议3</p><p>@msg</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Content</td>
                  <td><a href="#string">string</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段1 </p></td>
                </tr>
              
                <tr>
                  <td>D</td>
                  <td><a href="#double">double</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段2 </p></td>
                </tr>
              
                <tr>
                  <td>F</td>
                  <td><a href="#float">float</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段3 </p></td>
                </tr>
              
                <tr>
                  <td>I32</td>
                  <td><a href="#int32">int32</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段4 </p></td>
                </tr>
              
                <tr>
                  <td>I64</td>
                  <td><a href="#int64">int64</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段5 </p></td>
                </tr>
              
                <tr>
                  <td>Ui32</td>
                  <td><a href="#uint32">uint32</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段6 </p></td>
                </tr>
              
                <tr>
                  <td>Ui64</td>
                  <td><a href="#uint64">uint64</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段7 </p></td>
                </tr>
              
                <tr>
                  <td>B</td>
                  <td><a href="#bool">bool</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段8 </p></td>
                </tr>
              
                <tr>
                  <td>Bytes</td>
                  <td><a href="#bytes">bytes</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段9 </p></td>
                </tr>
              
                <tr>
                  <td>Infos</td>
                  <td><a href="#msg.VersionInfo">VersionInfo</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段10 </p></td>
                </tr>
              
                <tr>
                  <td>Vs</td>
                  <td><a href="#msg.Version">Version</a></td>
                  <td>repeated</td>
                  <td><p>测试协议3字段11 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.item">item</h3>
        <p>物品信息</p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Uid</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>唯一id </p></td>
                </tr>
              
                <tr>
                  <td>Stack</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>堆叠数量 </p></td>
                </tr>
              
                <tr>
                  <td>CreateTime</td>
                  <td><a href="#int64">int64</a></td>
                  <td></td>
                  <td><p>创建时刻 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      

      

      
    
      
      <div class="file-heading">
        <h2 id="login.proto">login.proto</h2><a href="#title">Top</a>
      </div>
      <p></p>

      
        <h3 id="msg.S2C_Close">S2C_Close</h3>
        <p>连接关闭</p><p>@msg</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Err</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>关闭代码 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.C2S_Login">C2S_Login</h3>
        <p>登录请求</p><p>@msg</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Account</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>帐号名 </p></td>
                </tr>
              
                <tr>
                  <td>Password</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>密码 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.S2C_Login">S2C_Login</h3>
        <p>登录回复</p><p>@msg</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Err</td>
                  <td><a href="#msg.S2C_Login.E_Error">S2C_Login.E_Error</a></td>
                  <td></td>
                  <td><p>错误码 </p></td>
                </tr>
              
                <tr>
                  <td>Key</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>密钥 </p></td>
                </tr>
              
                <tr>
                  <td>Server</td>
                  <td><a href="#msg.S2C_Login.ServerInfo">S2C_Login.ServerInfo</a></td>
                  <td>repeated</td>
                  <td><p>服务器列表 </p></td>
                </tr>
              
                <tr>
                  <td>LastLoginServerID</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>上次登录服务器ID </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.S2C_Login.ServerInfo">S2C_Login.ServerInfo</h3>
        <p>服务器信息</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>ID</td>
                  <td><a href="#int32">int32</a></td>
                  <td></td>
                  <td><p>服务器ID </p></td>
                </tr>
              
                <tr>
                  <td>Addr</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>服务器地址 = ip&#43;端口&#43;path, 例如: ws://127.0.0.1:8080/region1 </p></td>
                </tr>
              
                <tr>
                  <td>Name</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>服务器名 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.C2S_Register">C2S_Register</h3>
        <p>注册帐号请求</p><p>@msg</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>AccountName</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>帐号名 </p></td>
                </tr>
              
                <tr>
                  <td>Passwrod</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>密码 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      
        <h3 id="msg.S2C_Register">S2C_Register</h3>
        <p>注册帐号结果</p><p>@msg</p><p></p>

        
          <table class="field-table">
            <thead>
              <tr><td>Field</td><td>Type</td><td>Label</td><td>Description</td></tr>
            </thead>
            <tbody>
              
                <tr>
                  <td>Err</td>
                  <td><a href="#msg.S2C_Register.E_Error">S2C_Register.E_Error</a></td>
                  <td></td>
                  <td><p>错误码 </p></td>
                </tr>
              
                <tr>
                  <td>AccountName</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>帐号名 </p></td>
                </tr>
              
                <tr>
                  <td>Password</td>
                  <td><a href="#string">string</a></td>
                  <td></td>
                  <td><p>密码 </p></td>
                </tr>
              
                <tr>
                  <td>State</td>
                  <td><a href="#msg.S2C_Register.E_State">S2C_Register.E_State</a></td>
                  <td></td>
                  <td><p>状态 </p></td>
                </tr>
              
            </tbody>
          </table>
        

        
      

      
        <h3 id="msg.S2C_Login.E_Error">S2C_Login.E_Error</h3>
        <p>登录错误码枚举</p><p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>Error_</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>OK</td>
                <td>1</td>
                <td><p>成功</p></td>
              </tr>
            
              <tr>
                <td>InvalidAccount</td>
                <td>2</td>
                <td><p>非法帐号</p></td>
              </tr>
            
              <tr>
                <td>NotExist</td>
                <td>3</td>
                <td><p>帐号不存在</p></td>
              </tr>
            
              <tr>
                <td>InvalidPassword</td>
                <td>4</td>
                <td><p>非法密码</p></td>
              </tr>
            
              <tr>
                <td>Ban</td>
                <td>5</td>
                <td><p>已封号</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="msg.S2C_Register.E_Error">S2C_Register.E_Error</h3>
        <p>错误码</p><p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>Error_</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>OK</td>
                <td>1</td>
                <td><p>成功</p></td>
              </tr>
            
              <tr>
                <td>InvalidAccountName</td>
                <td>2</td>
                <td><p>无效帐号名</p></td>
              </tr>
            
              <tr>
                <td>InvalidPassword</td>
                <td>3</td>
                <td><p>无效密码</p></td>
              </tr>
            
              <tr>
                <td>Exist</td>
                <td>4</td>
                <td><p>已存在</p></td>
              </tr>
            
          </tbody>
        </table>
      
        <h3 id="msg.S2C_Register.E_State">S2C_Register.E_State</h3>
        <p>注册返回的帐号状态</p><p></p>
        <table class="enum-table">
          <thead>
            <tr><td>Name</td><td>Number</td><td>Description</td></tr>
          </thead>
          <tbody>
            
              <tr>
                <td>State_</td>
                <td>0</td>
                <td><p></p></td>
              </tr>
            
              <tr>
                <td>Visitor</td>
                <td>1</td>
                <td><p>游客</p></td>
              </tr>
            
              <tr>
                <td>Register</td>
                <td>2</td>
                <td><p>注册</p></td>
              </tr>
            
              <tr>
                <td>Bind</td>
                <td>3</td>
                <td><p>绑定</p></td>
              </tr>
            
          </tbody>
        </table>
      

      

      
    

    <h2 id="scalar-value-types">Scalar Value Types</h2>
    <table class="scalar-value-types-table">
      <thead>
        <tr><td>.proto Type</td><td>Notes</td><td>C++ Type</td><td>Java Type</td><td>Python Type</td></tr>
      </thead>
      <tbody>
        
          <tr id="double">
            <td>double</td>
            <td></td>
            <td>double</td>
            <td>double</td>
            <td>float</td>
          </tr>
        
          <tr id="float">
            <td>float</td>
            <td></td>
            <td>float</td>
            <td>float</td>
            <td>float</td>
          </tr>
        
          <tr id="int32">
            <td>int32</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint32 instead.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="int64">
            <td>int64</td>
            <td>Uses variable-length encoding. Inefficient for encoding negative numbers – if your field is likely to have negative values, use sint64 instead.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="uint32">
            <td>uint32</td>
            <td>Uses variable-length encoding.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int/long</td>
          </tr>
        
          <tr id="uint64">
            <td>uint64</td>
            <td>Uses variable-length encoding.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="sint32">
            <td>sint32</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int32s.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="sint64">
            <td>sint64</td>
            <td>Uses variable-length encoding. Signed int value. These more efficiently encode negative numbers than regular int64s.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="fixed32">
            <td>fixed32</td>
            <td>Always four bytes. More efficient than uint32 if values are often greater than 2^28.</td>
            <td>uint32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="fixed64">
            <td>fixed64</td>
            <td>Always eight bytes. More efficient than uint64 if values are often greater than 2^56.</td>
            <td>uint64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="sfixed32">
            <td>sfixed32</td>
            <td>Always four bytes.</td>
            <td>int32</td>
            <td>int</td>
            <td>int</td>
          </tr>
        
          <tr id="sfixed64">
            <td>sfixed64</td>
            <td>Always eight bytes.</td>
            <td>int64</td>
            <td>long</td>
            <td>int/long</td>
          </tr>
        
          <tr id="bool">
            <td>bool</td>
            <td></td>
            <td>bool</td>
            <td>boolean</td>
            <td>boolean</td>
          </tr>
        
          <tr id="string">
            <td>string</td>
            <td>A string must always contain UTF-8 encoded or 7-bit ASCII text.</td>
            <td>string</td>
            <td>String</td>
            <td>str/unicode</td>
          </tr>
        
          <tr id="bytes">
            <td>bytes</td>
            <td>May contain any arbitrary sequence of bytes.</td>
            <td>string</td>
            <td>ByteString</td>
            <td>str</td>
          </tr>
        
      </tbody>
    </table>
  </body>
</html>

